www.gusucode.com > Weighted Differential Evolution Algorithm (WDE) > Weighted Differential Evolution Algorithm (WDE)/cc_wde/classic_benchmark_problems/eggholder.m
function varargout = eggholder(X,str) % generalized egg holder function % % EGGHOLDER([x1, x2, ..., xn]) returns the value of the generalized % eggholder function at the specified points. All [xi] may be vectors. % The search domain is % % -512 < x_i < 512 % % global minimum (for 2 variables) is at % % f(x1, x2) = f(512, 404.2319) = 959.64 % Author: Rody P.S. Oldenhuis % Delft University of Technology % E-mail: oldenhuis@dds.nl % Last edited 28/Feb/2009 % if no input is given, return dimensions, bounds and minimum if (nargin == 0) varargout{1} = inf; % # dims varargout{2} = -512; % LB varargout{3} = +512; % LB varargout{4} = NaN; % solution varargout{5} = NaN; % function value at solution (too complicated) % otherwise, output function value else % keep values in the serach interval X(X < -512) = inf; X(X > 512) = inf; % split input vector X into X1, X2 X1 = X(:, 1:end-1); X2 = X(:, 2:end); % output columnsum varargout{1} = sum(-(X2+47).*sin(sqrt(abs(X2+X1/2+47)))-X1.*sin(sqrt(abs(X1-(X2+47)))), 2); end end